/***************************************************************
*  Copyright (c) 2007 by GroupMe! Team (www.groupme.net)
*  All rights reserved.
*
*  This file is part of the GroupMe! Project. Source code of 
*  this project is closed and redistribution of this code is
*  prohibited. 
*  
*  Contact: http://www.groupme.net
*
*  This copyright notice MUST APPEAR in all copies of the file!
***************************************************************/
package net.groupme.search.strategy.model;

/**
 * created on 10 Dec 2007
 * 
 * This interface defines a GroupMe! Tag Assignment.
 * 
 * @author Fabian Abel, <a href="mailto:abel@l3s.de">abel@l3s.de</a>
 * @author last edited by: $Author: fabian $
 * 
 * @version $Revision: 1.2 $ $Date: 2008-05-13 01:03:05 $
 */
public interface TAS {
	/** indicates that an id is not set */
	public static final int ID_NOT_SET = -1;

	/**
	 * @return the groupId
	 */
	public abstract int getGroupId();

	/**
	 * @param groupId the groupId to set
	 */
	public abstract void setGroupId(int groupId);

	/**
	 * @return the resourceId
	 */
	public abstract int getResourceId();

	/**
	 * @param resourceId the resourceId to set
	 */
	public abstract void setResourceId(int resourceId);

	/**
	 * @return the tagId
	 */
	public abstract int getTagId();

	/**
	 * @param tagId the tagId to set
	 */
	public abstract void setTagId(int tagId);

	/**
	 * @return the userId
	 */
	public abstract int getUserId();

	/**
	 * @param userId the userId to set
	 */
	public abstract void setUserId(int userId);
	
	/**
	 * @return the directTAS
	 */
	public abstract boolean isDirectTAS();
	
	/**
	 * @param directTAS the directTAS to set
	 */
	public abstract void setDirectTAS(boolean directTAS);
	
	/**
	 * @return the id
	 */
	public abstract int getId();

	/**
	 * @param id the id to set
	 */
	public abstract void setId(int id);

}